Prior art proprietary radio solutions with non-reusable software are commonplace especially in military applications. Many existing radio communications systems were designed with mutually-exclusive architectures to perform a specific task. As such, they depart from milestones already achieved in technological advancements where communications systems use standardized open architectures and modular designs to deliver multiple communications and network functions from a single platform. In general, most current radio systems operate on a single frequency band and are limited to a single waveform and thus can generally operate only with like specified radios. In addition, such radio systems are not capable of simultaneous voice, video, and data operations, and do not employ a common open systems architecture. Others skilled in the art have attempted to solve some of the of these problems by introducing multichannel radios. Although this solution addresses the ability to operate simultaneous voice and data transmissions, it fails to employ either a modular design or the use of a common open systems architecture and thus inhibiting software portability.
In response, the Joint Tactical Radio System (JTRS) Joint Program Office promulgated a draft “Software Communication Architecture” (SCA) specification incorporated by this reference. The inventors hereof and others have undertaken, in the SCA specification, to set forth requirements to provide for a common open architecture that has the advantages of promoting competition, interoperability, technology insertion, quick upgrades, software reuse, extendibility, and scalability. Another goal of the SCA specification is to provide a family of radios able to support operations in a wide variety of Domains: airborne, fixed, maritime, vehicular, dismounted, and handheld. Still another goal of the SCA specification is to provide for multiple bands and multiple modes and to provide radios which interoperate in disparate portions of the 2 MHz to 2 GHz spectrum and to provide cross-banding between modes and waveforms. Still other goals of the SCA specification include providing compatibility with legacy systems, to enable technology insertion wherein new technologies can be incorporated, to reduce costs and time to field, to prevent obsolescence, and to keep pace with commercial technologies. The envisioned radio software architecture must also support emerging wideband networking capabilities for voice, data, and video and allow for the maximum possible reuse of waveform software.
To isolate the waveform applications from the radio hardware, the proposed radio software is organized into three layers: a processor environment layer, a middleware layer, and a “core framework layer” layer. The processor environment layer and the middleware layer are generally commercially available off-the-shelf products. The core framework layer layer, however, which is defined to be an open means to promote plug-and-play software interoperability, is currently being developed by a number of different suppliers. The purpose of the core framework layer is to deploy (load and execute) a distributed application in a controlled and secured manner. Due to the use of a Common Object Request Broker Architecture (CORBA® (middleware layer)) and Portable Operating System Interface (POSIX)-compatible open system environment, the core framework layer supported components must port with relative ease across different processors, Real Time Operating Systems (RTOSs), buses and Object Request Brokers (ORBs). Thus, the core framework layer is the essential set of open application interfaces and services that provide an abstraction of the underlying Commercial Off-The-Shelf (COTS) software and hardware. Portability is achieved by implementing this same set of core framework layer application program interfaces on every platform. Core framework layer services consist of a Domain Manager that implements system control, a Device Manager that loads software and manages a set of hardware devices, and core services such as Log, File Manager, and File System.
Herein, a novel core framework layer is disclosed which meets and in many respect exceeds the core framework layer requirements of the SCA specification.
A typical core framework layer implementation is application independent but could be platform dependent. To reconfigure all of the core framework layer code specific to one platform so that is operates properly on a different platform is an arduous task: programmers must isolate all of the platform specific code and recode and recompile it for the new platform.
Moreover, the core framework layer of the SCA specification requires that an application include an eXtensible Mark-up Language (XML) Domain profile which can be parsed by the core framework layer each time the radio is turned on or when an application is installed into the radio Domain. The result is the requirement of multiple distributed software components with the radio Domain to parse XML files.
In addition, the SCA specification has no provision for preventing an application from attempting to use a device which is busy, off-line, or disabled resulting in inefficiency in the deployment of an application under these conditions.
Also, if a device or application fails, the core framework layer is notified but then there is no provision for restarting the device or application in response.
The SCA specification also provides for only a single core framework layer Domain Manager for all devices and applications. But, if that Domain Manager fails, so does its management function resulting in a weakness in the specified core framework layer.
Finally, a given radio may have multiple channels or radio frequency paths from the modem to the antenna. Unfortunately, the SCA specification assumes only one and, as such, the Domain Manager may choose an RF path unsuitable to the waveform of the application. Also, the chosen RF path may exhibit errors resulting in a failure of the application waveform.